package org.smr.ministore.entities;

import org.apache.commons.collections.CollectionUtils;
import org.blade.entities.base.BizEntity;
import org.smr.ministore.entities.vo.Assign2OrgansVO;
import org.smr.ministore.entities.vo.OrganVO;

import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.stream.Collectors;

/**
 * GoodsSpecificationGroup实体,对应表：t_goods_specification_group
**/
public class GoodsSpecificationGroup extends Assign2Organ<GoodsSpecificationGroupOrgan> {


	/**
	* 规格组名称
	**/
	private String name;

	/**
	 * 设置规格组名称的值
	 * @param name
	**/
	public void  setName(String name){
		this.name = name;
	}
	/**
	 * 获取规格组名称的值
	**/
	public  String getName(){
		return this.name;
	}



	/**
	* 删除标识
	**/
	private boolean isDeleted;

	/**
	 * 设置删除标识的值
	 * @param isDeleted
	**/
	public void setIsDeleted(boolean isDeleted){
		this.isDeleted = isDeleted;
	}
	/**
	 * 获取删除标识的值
	**/
	public boolean getIsDeleted(){
		return this.isDeleted;
	}


	/**
	* 生成时间
	**/
	private java.util.Date createDate;

	/**
	 * 设置生成时间的值
	 * @param createDate
	**/
	public void  setCreateDate(java.util.Date createDate){
		this.createDate = createDate;
	}
	/**
	 * 获取生成时间的值
	**/
	public  java.util.Date getCreateDate(){
		return this.createDate;
	}




    /**
    * 生成时间 查询时间开始
    **/
    private java.util.Date createDateStart;

    /**
    * 生成时间 查询时间结束
    **/
    private java.util.Date createDateEnd;


    /**
    * 设置生成时间Start的值
    * @param createDateStart
    **/
    public void  setCreateDateStart(java.util.Date createDateStart){
    this.createDateStart = createDateStart;
    }
    /**
    * 获取生成时间Start的值
    **/
    public  java.util.Date getCreateDateStart(){
    return this.createDateStart;
    }

    /**
    * 设置生成时间End的值
    * @param createDateEnd
    **/
    public void  setCreateDateEnd(java.util.Date createDateEnd){
    this.createDateEnd = createDateStart;
    }
    /**
    * 获取生成时间End的值
    **/
    public  java.util.Date getCreateDateEnd(){
    return this.createDateEnd;
    }


	/**
	* 更新间时
	**/
	private java.util.Date updateDate;

	/**
	 * 设置更新间时的值
	 * @param updateDate
	**/
	public void  setUpdateDate(java.util.Date updateDate){
		this.updateDate = updateDate;
	}
	/**
	 * 获取更新间时的值
	**/
	public  java.util.Date getUpdateDate(){
		return this.updateDate;
	}




    /**
    * 更新间时 查询时间开始
    **/
    private java.util.Date updateDateStart;

    /**
    * 更新间时 查询时间结束
    **/
    private java.util.Date updateDateEnd;


    /**
    * 设置更新间时Start的值
    * @param updateDateStart
    **/
    public void  setUpdateDateStart(java.util.Date updateDateStart){
    this.updateDateStart = updateDateStart;
    }
    /**
    * 获取更新间时Start的值
    **/
    public  java.util.Date getUpdateDateStart(){
    return this.updateDateStart;
    }

    /**
    * 设置更新间时End的值
    * @param updateDateEnd
    **/
    public void  setUpdateDateEnd(java.util.Date updateDateEnd){
    this.updateDateEnd = updateDateStart;
    }
    /**
    * 获取更新间时End的值
    **/
    public  java.util.Date getUpdateDateEnd(){
    return this.updateDateEnd;
    }




	/**
	* 备注
	**/
	private String remark;

	/**
	 * 设置备注的值
	 * @param remark
	**/
	public void  setRemark(String remark){
		this.remark = remark;
	}
	/**
	 * 获取备注的值
	**/
	public  String getRemark(){
		return this.remark;
	}

    private OrganVO assignee;

    /**
     * 商品指派
     */
    private GoodsSpecificationGroupOrgan assign() {
        return this.assignTo(assignee);
    }

    @Override
    public void attachValue(GoodsSpecificationGroupOrgan organ) {
        organ.setGoodsSpecificationGroupId(this.getId());
    }

    @Override
    public GoodsSpecificationGroupOrgan initReference() {
        return new GoodsSpecificationGroupOrgan();
    }

    public static GoodsSpecificationGroup instance() {
        return new GoodsSpecificationGroup();
    }

}